<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/6/28
 * Time: 11:06
 */

namespace app\common;


use Aliyun\Api\Sms\Request\V20170525\SendSmsRequest;
use Aliyun\Core\DefaultAcsClient;
use Aliyun\Core\Profile\DefaultProfile;
use think\Config;

class Alidayu
{
    public static function  send($phone, $type, $param)
    {
        // 加载区域结点配置
        \Aliyun\Core\Config::load();
        $conf = config("alidayu");
        $accessKeyId = $conf["dayu_appkey"];//参考本文档步骤2
        $accessKeySecret = $conf["dayu_secretKey"];//参考本文档步骤2
        //短信API产品名（短信产品名固定，无需修改）
        $product = "Dysmsapi";
        //短信API产品域名（接口地址固定，无需修改）
        $domain = "dysmsapi.aliyuncs.com";
        //暂时不支持多Region（目前仅支持cn-hangzhou请勿修改）
        $region = "cn-hangzhou";
        //初始化访问的acsCleint
        $profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);
        DefaultProfile::addEndpoint($region, $region, $product, $domain);
        $acsClient = new DefaultAcsClient($profile);
        $request = new SendSmsRequest();
        //必填-短信接收号码。支持以逗号分隔的形式进行批量调用，批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
        $request->setPhoneNumbers("$phone");
        if (isset($conf[$type])) {
            $sign = $conf[$type];
            //必填-短信签名
            $request->setSignName($sign["signname"]);
            //必填-短信模板Code
            $request->setTemplateCode($sign["templatecode"]);
            //选填-假如模板中存在变量需要替换则为必填(JSON格式),友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
            $request->setTemplateParam($param);
            //选填-发送短信流水号
            $trxcode = time();
            $request->setOutId($trxcode);
            //发起访问请求
            $acsResponse = $acsClient->getAcsResponse($request);
//            dump($acsResponse);
//            dump($param);
//            dump($phone);
        }
        if (isset($acsResponse->Code) && $acsResponse->Code == "OK") {
            return true;
        } else {
            return false;
        }
    }
}